1. Field of the Invention
The present invention relates to a printing apparatus, comprising a cash drawer control function and to a control method therefor, and relates particularly to a printing apparatus capable of controlling the cash drawer irrespective of the status of the printing apparatus. The present invention is therefore particularly effective when used with systems for processing monetary transactions, such as point-of-sale (POS) terminals and electronic cash registers (ECR).
2. Description of the Related Art
In a conventional printing apparatus when continuing the printing operation is inappropriate, such as when the paper supply is depleted, the printer cover is opened, or an error occurs, conventional printing apparatuses typically stop the printer mechanism containing the printing head, and bring the interface to the host computer off-line (a logical non-connection state) to both protect the printing apparatus and the communications data, and assure user safety. Once this off-line state is entered, however, internal control of the printer apparatus stops, and the data already transferred to the printer apparatus is no longer processed. Data is also no longer received by the printer apparatus, and the printer apparatus cannot receive or process any data output thereto or respond to inquiries from the host computer.
The printing apparatus even moves off-line when the form-feed switch is pressed and paper is being advanced, and when the data receiving buffer storing the received data is full (a buffer full state), and it is difficult to distinguish between these off-line states and off-line states in which it is inappropriate to continue printing.
When the printing apparatus goes off-line, the host computer is no longer able to send the print data, and the complete system, POS, ECR, or other, comes to a stop. In such a case, the host computer typically displays a message such as "printer problem, please check" on the display device, and the user must manually inspect the printing apparatus and correct the problem leading to the off-line state. However, for many general POS and ECR users, determining the problem is often difficult and time-consuming.
On the other hand, control commands stored in the data receiving buffer are interpreted in a first-in-first-out (FIFO, the first commands stored are the first interpreted) order, and the appropriate command process is executed. Control commands that have been processed are deleted from the data receiving buffer. As a result, as control commands are successively input from the host computer, the commands are stored one after the other in the data receiving buffer, and processed in order from the oldest control command stored. This creates a time lag between output of the control command from the host computer and actual execution of the control command by the printing apparatus.
In conventional printing apparatuses handling cut-sheet forms, the printer mechanism and printer head must be stopped to wait for insertion of the cut-sheet form when the host computer selects a cut-sheet form for printing. Because internal control of the printing apparatus stops at this time, the data received from the host computer once the cut-sheet form selection is made is not processed, and there is no response from the printing apparatus, until the cut-sheet form is inserted or a predetermined cut-sheet form insertion waiting period is completed.
As a result, if the user mistakenly selects cut-sheet form printing, the POS/ECR terminal stops processing for the period, thus delaying further processing and causing the customer to wait. When the printing apparatus is reset or the power is turned off and then on again, the data controlling the printing apparatus settings stored in the printing apparatus is lost. This is a significant problem for a printing apparatus used in POS/ECR terminals in financial transaction systems.
Errors generated in the printing apparatus include recoverable errors, such as paper jams in the paper transport path, and non-recoverable errors, such as problems with the power supply voltage from the AC-DC converter and damage to the head temperature detector of the print head. The methods of handling recoverable and non-recoverable errors differ greatly, and it is therefore necessary to distinguish between the two; this is, however, difficult for the average user.
Furthermore, even if the cause of the error is removed in conventional printing apparatuses, it is necessary to reset the printing apparatus or turn the power off and then on again to escape from the error state. Both of these operations also destroy the data stored to that point in the printing apparatus.
To minimize the effects of these problems, the host computer in data processing systems using such conventional printing apparatuses adds a status request command to each line of data instead of batch sending plural lines of data, and uses the response to determine the current status of the printing apparatus. This, however, adds significant overhead to the host computer, and leads to reduced throughput in the data processing system.
As a result of the above, stand-alone type dedicated data processing systems integrating the data entry device, processing device, and printing apparatus are widely used in conventional POS/ECR systems. Systems connecting a host computer with a printing apparatus using a general-purpose interface are not widely used, even though they offer excellent flexibility, due data reliability problems (i.e., security issues). To improve data reliability and simultaneously improve operability (usability), it is desirable to have a data processing system whereby the cause of any stop in printing apparatus operation can be known even while the printing apparatus is in an off-line state, and the cause of the problem can be quickly corrected.
Moreover, conventional POS and ECR systems typically place the cash drawer in which money is held below the printing apparatus, and issue the cash drawer open/close signal from the printing apparatus. So-called terminal printing apparatuses that are connected through some interface to a host device to execute a printing process according to the control commands received from the host device comprise a means for outputting the cash drawer open/close signal for a specified time from the output port of the specified port number. To reduce the standby time to completion of the control commands of the host device, the control commands are temporarily stored to a command buffer, and then read and executed in the order stored (first-in-first-out).
While the command buffer size varies according to the model and application of the printing apparatus, the command buffer is often also used as a print data buffer, and can therefore generally store a large number of control commands. Therefore, when many control commands are stored in the command buffer, significant time may be required to open the cash drawer even though the cash drawer open command has been sent from the host device. More specifically, once a receipt printing or other printing process has been started, monetary transactions such as storing cash received or making customer change must wait until the printing process has completed. As a result, the user must wait for an extended period of time, and numerous problems therefore remain for printing apparatuses used in systems for processing monetary transactions, such as point-of-sale (POS) terminals and electronic cash registers (ECR).
Faster processing is demanded in printing apparatuses for the POS/ECR market in recent years. Because transaction processing in particular requires manual intervention, it is necessary to open the cash drawer immediately as soon as an open request is issued.